package service;

import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import pojo.User;
import utils.SqlSessionFactoryUtils;

public class UserService {
    //使用工具类获取SqlSessionFactory
    SqlSessionFactory factory = SqlSessionFactoryUtils.getSqlSessionFactory();
    /**
     * 登录方法
     */
    public User login(String username, String password){
//1. 获取SqlSession
        SqlSession sqlSession = factory.openSession();
//2. 获取UserMapper
        UserMapper usermapper = sqlSession.getMapper(UserMapper.class);
//3. 调用方法
        User user = usermapper.selectByUsername(username);
//4. 释放资源
//        sqlSession.close();
//5. 验证密码
        if(user != null){
            if(password.equals(user.getPassword())){
                return user;
            }else{

                return  null;
            }
        }
        return null;
    }


    public boolean register(String username, String password) {
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.selectByUsername(username);
        if (user != null) {
            return false;
        }
           User newUser= new User(null,username,password);
        int i=userMapper.add(newUser);
        sqlSession.commit();
        sqlSession.close();
        return i>0;

    }




    public boolean checkUsername(String username) {
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.selectByUsername(username);
        if (user != null) {
            return true;
        }

        sqlSession.close();
        return false;

    }



}



